package com.sec.etech.bpm.cust.dao;

import com.sec.etech.bpm.cust.dto.EtechBpmTask;
import org.apache.ibatis.annotations.Param;
import org.mybatis.spring.annotation.MapperScan;
import org.openbpm.base.api.query.QueryFilter;
import org.openbpm.base.dao.BaseDao;
import org.openbpm.bpm.core.dao.BpmTaskDao;
import org.openbpm.bpm.core.model.BpmTask;
import org.openbpm.bpm.core.model.BpmTypeTreeCountVO;
import org.springframework.context.annotation.Primary;

import java.util.List;
import java.util.Set;

@Primary
@MapperScan
public interface EtechTaskDao extends BpmTaskDao
    //extends BaseDao<String, BpmTask>
{
    List<BpmTask> getByInstIdNodeId(@Param("instId") String instId, @Param("nodeId") String nodeId);

    List<BpmTask> getTodoList(QueryFilter queryFilter);

    void removeByInstId(@Param("instId") String instId);

    List<BpmTask> getByParentId(@Param("parentId") String parentId);

    List<BpmTypeTreeCountVO> getTodoListTypeCount(QueryFilter queryFilter);

    Set<String> selectTaskIdByInstId(String instId);

    List<EtechBpmTask> getTodoList4masterGroup(QueryFilter queryFilter);

    List<EtechBpmTask> getTodoList2(QueryFilter queryFilter);
}
